package com.atguigu.lease.model.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;


public enum ItemType implements BaseEnum {

    APARTMENT(1, "公寓"),

    ROOM(2, "房间");


//    @EnumValue作用是将枚举对象原本的与名字相互映射  变为与属性相映射  用于类型转换工厂中进行转换
//    作用见 LabelController中进行的QueryWrapper选择器选择时的操作
    @EnumValue
//    @JsonValue作用是将枚举对象原本的与名字相互映射 即 返回的Json中是ROOM这种
//    变为属性映射，即ROOM对应的是1  APARTMENT对应2这种返回
    @JsonValue
    private Integer code;
    private String name;

    @Override
    public Integer getCode() {
        return this.code;
    }


    @Override
    public String getName() {
        return name;
    }

    ItemType(Integer code, String name) {
        this.code = code;
        this.name = name;
    }

}
